package com.cfpamf.ms.insur.wx.model;


import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import lombok.Builder;
import lombok.Data;

/**
 * 微信支付订单查询 接口参数
 * <p/>
 * 两个参数 至少传一个
 */
@Data
@Builder
public class WxPayRefundQueryModel extends WxPayModel {

    /**
     * 微信订单号查询的优先级是： refund_id > out_refund_no > transaction_id > out_trade_no
     */
    @JacksonXmlProperty(localName = "transaction_id")
    @JacksonXmlCData
    private String transactiond;

    /**
     * 商户系统内部订单号，要求32个字符内，只能是数字、大小写字母_-|*@ ，且在同一个商户号下唯一。
     */
    @JacksonXmlProperty(localName = "out_trade_no")
    @JacksonXmlCData
    private String outTradeNo;

    /**
     * 商户系统内部的退款单号，商户系统内部唯一，只能是数字、大小写字母_-|*@ ，同一退款单号多次请求只退一笔。
     */
    @JacksonXmlProperty(localName = "out_refund_no")
    @JacksonXmlCData
    private String outRefundNo;

    /**
     * 微信生成的退款单号，在申请退款接口有返回
     */
    @JacksonXmlProperty(localName = "refund_id")
    @JacksonXmlCData
    private String refundId;
}
